﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR45Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR45Response {
        
        private decimal @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR45Response.IIsikType> @__isik = new System.Collections.Generic.List<RR45Response.IIsikType>();
        
        public RR45Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR45Response(decimal @veakood, string @veatekst, System.Collections.Generic.List<RR45Response.IIsikType> @isik) {
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__isik = @isik;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR45Response(IRR45Response @rR45Response) {
            this.@__veakood = @rR45Response.Veakood;
            this.@__veatekst = @rR45Response.Veatekst;
            this.@__isik = @rR45Response.Isik;
        }
        
        public virtual decimal Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR45Response.IIsikType> Isik {
            get {
                return this.@__isik;
            }
            set {
                this.@__isik = value;
            }
        }
        
        public partial class IsikType : IIsikType {
            
            private string @__isikPerenimi;
            
            private string @__isikEesnimi;
            
            private string @__isikStaatus;
            
            private string @__isikSugu;
            
            private string @__isikSynniaeg;
            
            private string @__isikKodakondsusRiikKood;
            
            private string @__isikKodakondsusRiikNim;
            
            private string @__isikSynnikoht;
            
            private string @__isikElamislubaNr;
            
            private string @__isikElamislubaKehtibKuni;
            
            private string @__isikEestiAadress;
            
            private string @__isikaadressLiik;
            
            private string @__isikaadressKehtib;
            
            private string @__isikaadress;
            
            public IsikType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikType(string @isikPerenimi, string @isikEesnimi, string @isikStaatus, string @isikSugu, string @isikSynniaeg, string @isikKodakondsusRiikKood, string @isikKodakondsusRiikNim, string @isikSynnikoht, string @isikElamislubaNr, string @isikElamislubaKehtibKuni, string @isikEestiAadress, string @isikaadressLiik, string @isikaadressKehtib, string @isikaadress) {
                this.@__isikPerenimi = @isikPerenimi;
                this.@__isikEesnimi = @isikEesnimi;
                this.@__isikStaatus = @isikStaatus;
                this.@__isikSugu = @isikSugu;
                this.@__isikSynniaeg = @isikSynniaeg;
                this.@__isikKodakondsusRiikKood = @isikKodakondsusRiikKood;
                this.@__isikKodakondsusRiikNim = @isikKodakondsusRiikNim;
                this.@__isikSynnikoht = @isikSynnikoht;
                this.@__isikElamislubaNr = @isikElamislubaNr;
                this.@__isikElamislubaKehtibKuni = @isikElamislubaKehtibKuni;
                this.@__isikEestiAadress = @isikEestiAadress;
                this.@__isikaadressLiik = @isikaadressLiik;
                this.@__isikaadressKehtib = @isikaadressKehtib;
                this.@__isikaadress = @isikaadress;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikType(IIsikType @isikType) {
                this.@__isikPerenimi = @isikType.IsikPerenimi;
                this.@__isikEesnimi = @isikType.IsikEesnimi;
                this.@__isikStaatus = @isikType.IsikStaatus;
                this.@__isikSugu = @isikType.IsikSugu;
                this.@__isikSynniaeg = @isikType.IsikSynniaeg;
                this.@__isikKodakondsusRiikKood = @isikType.IsikKodakondsusRiikKood;
                this.@__isikKodakondsusRiikNim = @isikType.IsikKodakondsusRiikNim;
                this.@__isikSynnikoht = @isikType.IsikSynnikoht;
                this.@__isikElamislubaNr = @isikType.IsikElamislubaNr;
                this.@__isikElamislubaKehtibKuni = @isikType.IsikElamislubaKehtibKuni;
                this.@__isikEestiAadress = @isikType.IsikEestiAadress;
                this.@__isikaadressLiik = @isikType.IsikaadressLiik;
                this.@__isikaadressKehtib = @isikType.IsikaadressKehtib;
                this.@__isikaadress = @isikType.Isikaadress;
            }
            
            public virtual string IsikPerenimi {
                get {
                    return this.@__isikPerenimi;
                }
                set {
                    this.@__isikPerenimi = value;
                }
            }
            
            public virtual string IsikEesnimi {
                get {
                    return this.@__isikEesnimi;
                }
                set {
                    this.@__isikEesnimi = value;
                }
            }
            
            public virtual string IsikStaatus {
                get {
                    return this.@__isikStaatus;
                }
                set {
                    this.@__isikStaatus = value;
                }
            }
            
            public virtual string IsikSugu {
                get {
                    return this.@__isikSugu;
                }
                set {
                    this.@__isikSugu = value;
                }
            }
            
            public virtual string IsikSynniaeg {
                get {
                    return this.@__isikSynniaeg;
                }
                set {
                    this.@__isikSynniaeg = value;
                }
            }
            
            public virtual string IsikKodakondsusRiikKood {
                get {
                    return this.@__isikKodakondsusRiikKood;
                }
                set {
                    this.@__isikKodakondsusRiikKood = value;
                }
            }
            
            public virtual string IsikKodakondsusRiikNim {
                get {
                    return this.@__isikKodakondsusRiikNim;
                }
                set {
                    this.@__isikKodakondsusRiikNim = value;
                }
            }
            
            public virtual string IsikSynnikoht {
                get {
                    return this.@__isikSynnikoht;
                }
                set {
                    this.@__isikSynnikoht = value;
                }
            }
            
            public virtual string IsikElamislubaNr {
                get {
                    return this.@__isikElamislubaNr;
                }
                set {
                    this.@__isikElamislubaNr = value;
                }
            }
            
            public virtual string IsikElamislubaKehtibKuni {
                get {
                    return this.@__isikElamislubaKehtibKuni;
                }
                set {
                    this.@__isikElamislubaKehtibKuni = value;
                }
            }
            
            public virtual string IsikEestiAadress {
                get {
                    return this.@__isikEestiAadress;
                }
                set {
                    this.@__isikEestiAadress = value;
                }
            }
            
            public virtual string IsikaadressLiik {
                get {
                    return this.@__isikaadressLiik;
                }
                set {
                    this.@__isikaadressLiik = value;
                }
            }
            
            public virtual string IsikaadressKehtib {
                get {
                    return this.@__isikaadressKehtib;
                }
                set {
                    this.@__isikaadressKehtib = value;
                }
            }
            
            public virtual string Isikaadress {
                get {
                    return this.@__isikaadress;
                }
                set {
                    this.@__isikaadress = value;
                }
            }
        }
        
        public interface IIsikType {
            
            string IsikPerenimi {
                get;
                set;
            }
            
            string IsikEesnimi {
                get;
                set;
            }
            
            string IsikStaatus {
                get;
                set;
            }
            
            string IsikSugu {
                get;
                set;
            }
            
            string IsikSynniaeg {
                get;
                set;
            }
            
            string IsikKodakondsusRiikKood {
                get;
                set;
            }
            
            string IsikKodakondsusRiikNim {
                get;
                set;
            }
            
            string IsikSynnikoht {
                get;
                set;
            }
            
            string IsikElamislubaNr {
                get;
                set;
            }
            
            string IsikElamislubaKehtibKuni {
                get;
                set;
            }
            
            string IsikEestiAadress {
                get;
                set;
            }
            
            string IsikaadressLiik {
                get;
                set;
            }
            
            string IsikaadressKehtib {
                get;
                set;
            }
            
            string Isikaadress {
                get;
                set;
            }
        }
    }
}
